昨天介紹完邏輯運算子,今天就來談談跟他很有關聯的條件語法啦!在JavaScript當中,條件語法有兩種,一個是if..else,另一個是switch..case。現在就來看看它們是怎麼運作的吧!
基本上會一點點英文,應該都能很直覺的猜到,if..else就是「如果」怎樣,就做某件事,「否則」做另一件。那它的語法如下:
if (條件式) {
// 條件式成立會執行這邊的程式碼
} else {
// 否則執行 else 這邊的程式碼
// else 可以有也可以沒有
}
如果你覺得else不夠用,你還能用else if 來新增條件:
if (條件式) {
// 條件式成立會執行這邊的程式碼
} else if (條件 2) {
// ...
} else if(條件 3){
// ...
}else {
// 否則執行 else 這邊的程式碼
// else 可以有也可以沒有
}
else if 沒有使用上限,但為了程式的可讀性與維護性,盡量減少條件數量。
在上面我們說到如果需要很多判斷可能會用到很多的else if,來看看下面的範例:
if (a === 2 || a === 3 || a === 4) {
console.log("apple");
} else if (a === 5 || a === 6 || a === 7) {
console.log("orange");
} else if(a === 8 || a === 9 || a === 10){
console.log("banana");
}else {
console.log("others");
}
像這樣子的條件句,其實看起來還蠻複雜的。如果改用switch 的
話看起來相對會比較好一點:
switch(a){
case 2:
case 3:
case 4:
console.log("apple");
break;
case 5:
case 6:
case 7:
console.log("orange");
break;
case 8:
case 9:
case 10:
console.log("banana");
break;
default:
console.log("others");
}
上面的例子,如果 a 變數是 2 或3或4,則印出 'apples';如果 a變數的值是 5或6或7,則會印出 "orange" ;如果 a 的值是8或9或10 則或印出"banana",最後如果a的值都不在指定的casw,則執行 default 區塊的程式碼,然後印出"others"
default 區塊其實是可以選擇不要寫的,
表示如果找不到相符的 case,則跳過整個 switch 區塊什麼不執行。
那 break 的用途是什麼呢?當 JavaScript 執行到 break 這個關鍵字的時後,就會直接跳出整個 switch 區塊,執行後面其他的程式。而如果沒有 break 則會一路往下執行。
以上就是基本的if..else 與 case 的介紹。
我們明天見!